<?
function hide($pavadinimas,$tekstas,$hide=false,$label=false) {
	$id = uniqid();
	echo "\n<div class=\"title\" onclick=\"rodyk('".$id."')\" style=\"cursor: pointer; cursor: pointer;\"><font color=\"red\">↓↓</font> ".ucfirst($pavadinimas)." <font color=\"red\">↑↑</font></div>\n";
	if ($label) { $label = "<fieldset>\n<legend>".$label."</legend>\n";	}
	echo "<div class=\"vidus\" id=\"".$id."\" style=\"display: ".(($hide) ? 'none' : '')."\">".$label." ".$tekstas."";
	if ($label) { echo "</fieldset></div>\n"; }
	else { echo "</div>\n"; }
}
function lentele_l($pavadinimas,$tekstas,$label=false) {
	lentele($pavadinimas,$tekstas,$label);
}
function lentele_r($pavadinimas,$tekstas,$label=false) {
	lentele($pavadinimas,$tekstas,$label);
}
function lentele($pavadinimas,$tekstas,$label=false) {
	echo "\n<div class=\"title\">".ucfirst($pavadinimas)."</div>\n";
	if ($label) { $label = "<fieldset>\n<legend>$label</legend>\n";	}
	echo "<div class=\"vidus\">$label $tekstas";
	if ($label) { echo "</fieldset></div>\n"; }
	else { echo "</div>\n"; }
}

function klaida($pavadinimas,$tekstas,$label=false) {
	echo "\n<div class=\"title\" style=\"border-color:black;background:red;color:white\">".ucfirst($pavadinimas)." <blink>!</blink></div>\n";
	if ($label) { $label = "<fieldset>\n<legend>$label</legend>\n";	}
	echo "<div class=\"vidus\" style=\"border-color:black;background:yellow\">$label <img src=\"images/pm/delete.png\" align=\"left\" hspace=\"10\" alt=\"Klaida\"/>$tekstas";
	if ($label) { echo "</fieldset></div>\n"; }
	else { echo "</div>\n"; }
}
function msg($pavadinimas,$tekstas,$label=false) {
	echo "\n<div class=\"title\" style=\"border-color:black;background:green;color:white\">".ucfirst($pavadinimas)."</div>\n";
	if ($label) { $label = "<fieldset>\n<legend>$label</legend>\n";	}
	echo "<div class=\"vidus\" style=\"border-color:black;background:#CCFFCC\">$label <img src=\"images/icons/tick.png\" align=\"left\" hspace=\"10\" alt=\"Klaida\"/>$tekstas";
	if ($label) { echo "</fieldset></div>\n"; }
	else { echo "</div>\n"; }
}
function ofunc() {
	echo "
		<table width=\"100%\" border=\"0\">
			<tr>
				<td><div class=\"title\">Masyvas</div></td>
				<td><div class=\"title\">Paaiškinimas</div></td>
			</tr>
			<tr>
		 ";
}
function cfunc() {
	echo "</table>";
}
function copyright($tekstas) {
	echo "<div class='comment'>".$tekstas."</div>";
}
function th_meniu($array,$start='',$end='') {
	$return = $start."\n";
    foreach($array as $key => $val){
        if (is_array($val)) {
            $return .= "\t<li><a href='/' onClick='return false'>$key</a>\n";
            $return .= "\t<ul>\n\t";
            $return .= "\t".th_meniu($val);
            $return .= "\t</ul></li>\n";
        }
        else { $return .= "\t<li><a href='$val'>$key</a></li>\n"; }
    }
    return $return."\n".$end;
}
function bbk($forma) {
	$return = "<input value=\"b\" class=\"button\" style=\"font-weight: bold; width: 25px;\" onclick=\"addText('$forma', '[b]', '[/b]');\" type=\"button\">
<input value=\"i\" class=\"button\" style=\"font-style: italic; width: 25px;\" onclick=\"addText('$forma', '[i]', '[/i]');\" type=\"button\">
<input value=\"u\" class=\"button\" style=\"text-decoration: underline; width: 25px;\" onclick=\"addText('$forma', '[u]', '[/u]');\" type=\"button\">
<input value=\"url\" class=\"button\" style=\"width: 30px;\" onclick=\"addText('$forma', '[url]', '[/url]');\" type=\"button\">
<input value=\"big\" class=\"button\" style=\"width: 30px;\" onclick=\"addText('$forma', '[big]', '[/big]');\" type=\"button\">
<input value=\"small\" class=\"button\" style=\"width: 30px;\" onclick=\"addText('$forma', '[sm]', '[/sm]');\" type=\"button\">
<input value=\"img\" class=\"button\" style=\"width: 30px;\" onclick=\"addText('$forma', '[img]', '[/img]');\" type=\"button\">
<input value=\"quote\" class=\"button\" style=\"width: 45px;\" onclick=\"addText('$forma', '[quote]', '[/quote]');\" type=\"button\">
<input value=\"code\" class=\"button\" style=\"width: 45px;\" onclick=\"addText('$forma', '[code]', '[/code]');\" type=\"button\">
<input value=\"html\" class=\"button\" style=\"width: 45px;\" onclick=\"addText('$forma', '[html]', '[/html]');\" type=\"button\">
<input value=\"php\" class=\"button\" style=\"width: 45px;\" onclick=\"addText('$forma', '[php]', '[/php]');\" type=\"button\">
";
if (LEVEL == 30) { $return .= "
<input value=\"hide\" class=\"button\" style=\"width: 45px;\" onclick=\"addText('$forma', '[hide=Tik registruotiems]', '[/hide]');\" type=\"button\">
<input value=\"hr\" class=\"button\" style=\"width: 45px;\" onclick=\"addText('$forma', '[hr=', ']');\" type=\"button\">
"; }
	return $return."<br />";
}

function bbs($forma) {
	return smile("
		:-)
		;-)
		:-]
		:-D
		:o
		:-o
		:(
		B-)
		:-|
		:P
		>)
		o_0
		",$forma)."<br/>";
}

//SYPSENOS
function smile($data,$bb = FALSE) {
        $smilies = array(
				':)' => 'smile.gif',
				':]' => 'razz.gif',
				':-)' => 'smile.gif',
				';-)' => 'wink.gif',
				';)' => 'wink.gif',
				':-]' => 'biggrin.gif',
				':-D' => '003.gif',
				':D' => '003.gif',
				':o' => 'shock.gif',
				':-o' => '103.gif',
				':O' => 'confuse.gif',
				':(' => 'cry.gif',
				'B-)' => 'cool.gif',
				'B)' => 'cool.gif',
				'%-)' => 'cool.gif',
				':-|' => 'neutral.gif',
				':|' => 'neutral.gif',
				':P' => '118.gif',
				':p' => '118.gif',
				'>)' => 'badgrin.gif',
				'0_o' => '119.gif',
				'o_0' => '119.gif',
				);
		foreach($smilies as $smile => $image) {
			$data = str_replace($smile,"<img src='images/smiles/$image' alt='$smile' class='middle' ".(($bb)?"onclick=\"addText('".$bb."','".$smile."',' ');\" style=\"cursor: pointer;\"":"")." /> ",$data);
		}
	return $data;
}

//bbcodo varijantas 1
function bb2html($Input) {
  $Bbcode = array
  (
    '/\[b\](.+?)\[\/b\]/i',
    '/\[i\](.+?)\[\/i\]/i',
    '/\[quote\](.+?)\[\/quote\]/i',
    '/\[url=(.+?)\](.+?)\[\/url\]/i'
  );
  $Html = array
  (
    '<strong>$1</strong>',
    '<em>$1</em>',
    '<blockquote>$1</blockquote>',
    '<a href="$1">$2</a>'
  );
  return preg_replace($Bbcode, $Html, $Input);
}



// bbcode

function nl2br2( $text ) {
	return str_replace( '<br />', '', $text );
}
function htmlspecialchars2( $text ) {
    static $patterns, $replaces;
    if( !$patterns ){
        $patterns = array( '#&lt;#', '#&gt;#', '#&amp;#', '#&quot;#' );
        $replaces = array( '<', '>', '&', '"' );
    }
    return preg_replace( $patterns, $replaces, $text );
}
function bbchat($str) {

	//$str=htmlspecialchars(trim($str));
	$str=descript($str);
	// Pogrubiony tekst
	$str = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>", $str);
	// Pochylony tekst
	$str = preg_replace("#\[i\](.*?)\[/i\]#si", "<i>\\1</i>", $str);
	// Podkreślony tekst
	$str = preg_replace("#\[u\](.*?)\[/u\]#si", "<u>\\1</u>", $str);
	// Pomniejszanie tekstu
	$str = preg_replace("#\[sm\](.*?)\[/sm\]#si", "<small>\\1</small>", $str);
	// znaki specjalne
	$str = str_replace('&amp;plusmn;', '&plusmn;', $str);
	$str = str_replace('&amp;trade;', '&trade;', $str);
	$str = str_replace('&amp;bull;', '&bull;', $str);
	$str = str_replace('&amp;deg;', '&deg;', $str);
	$str = str_replace('&amp;copy;', '&copy;', $str);
	$str = str_replace('&amp;reg;', '&reg;', $str);
	$str = str_replace('&amp;hellip;', '&hellip;', $str);
	$str = str_replace('&amp;#8230;', '&hellip;', $str);
	// kolejny wiersz
	$str=nl2br($str);
	// js
	$str = preg_replace_callback("#\<(.*?)javascript(.*?)\>#si", "bbcode_js", $str);

	return $str;
}

Function bbcode($str) {
	// usun zbedne
	//$str=str_replace("\\","&#92;",$str);
	//$str=htmlspecialchars(trim($str));
	$str=htmlspecialchars($str);
	//$str=descript($str);


	// Odnośnik, otwieranie w nowym oknie
	$str = preg_replace("#\[url\](.*?)?(.*?)\[/url\]#si", "<A HREF=\"\\1\\2\" TARGET=\"_blank\">\\1\\2</A>", $str);

	// Odnośnik, otwieranie w nowym oknie, definiowanie treści odnośnika
	$str = preg_replace("#\[url=(.*?)?(.*?)\](.*?)\[/url\]#si", "<A HREF=\"\\2\" TARGET=\"_blank\">\\3</A>", $str);

	// Odnośnik, otwieranie w tym samym oknie
	$str = preg_replace("#\[url2\](.*?)?(.*?)\[/url2\]#si", "<A HREF=\"\\1\\2\">\\1\\2</A>", $str);

	// Odnośnik, otwieranie w tym samym oknie, definiowanie treści odnośnika
	$str = preg_replace("#\[url2=(.*?)?(.*?)\](.*?)\[/url2\]#si", "<A HREF=\"\\2\">\\3</A>", $str);

	// Automatyczne tworzenie linków
	$str = preg_replace_callback("#([\n ])([a-z]+?)://([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]+)#si", "bbcode_autolink", $str);
	$str = preg_replace("#([\n ])www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]*)?)#i", " <a href=\"http://www.\\2.\\3\\4\" target=\"_blank\">www.\\2.\\3\\4</a>", $str);
	$str = preg_replace("#([\n ])([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)?[\w]+)#i", "\\1<a href=\"javascript:mailto:mail('\\2','\\3');\">\\2_(at)_\\3</a>", $str);

	// Ukrywanie treści
	//$str = preg_replace_callback("#\[ukryj=\"?(.*?)\"?\](.*?)\[/ukryj]#si", 'ukryj', $str);
	$str = preg_replace_callback("#\[hide=\"?(.*?)\"?\](.*?)\[/hide]#si", 'ukryj', $str);

	// Pogrubiony tekst
	$str = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>", $str);

	// Pochylony tekst
	$str = preg_replace("#\[i\](.*?)\[/i\]#si", "<i>\\1</i>", $str);

	// Podkreślony tekst
	$str = preg_replace("#\[u\](.*?)\[/u\]#si", "<u>\\1</u>", $str);

	// Pomniejszanie tekstu
	$str = preg_replace("#\[sm\](.*?)\[/sm\]#si", "<small>\\1</small>", $str);

	// Powiększanie tekstu
	$str = preg_replace("#\[big\](.*?)\[/big\]#si", "<big>\\1</big>", $str);

	// Wyśrodkowanie tekstu
	$str = preg_replace("/\[center\](.*?)\[\/center\]/si", "<center>\\1</center>", $str);

	// Kolor tekstu
	$str = preg_replace("#\[color=(http://)?(.*?)\](.*?)\[/color\]#si", "<span style=\"color:\\2\">\\3</span>", $str);

	// Obrazek
	$str = preg_replace("#\[img\](.*?)\[/img\]#si", "<img src=\"\\1\" border=\"0\" alt=\"pic\" />", $str);
	// [img]http://www/image.gif[/img]
	$str = preg_replace("/\[img\](http:\/\/[^\s'\"<>]+(\.gif|\.jpg|\.png))\[\/img\]/", "<img border=0 src=\"\\1\">", $str);

	// [img=http://www/image.gif]
	$str = preg_replace("/\[img=(http:\/\/[^\s'\"<>]+(\.gif|\.jpg|\.png))\]/", "<img border=0 src=\"\\1\">", $str);

	// Pozioma linia
	$str = preg_replace("#\[hr=(\d{1,2}|100)\]#si", "<hr class=\"linia\" width=\"\\1%\">", $str);

	// Wykonaj html
	//$str=preg_replace_callback("#\[html\](.*?)\[/html\]#si", "bbcode_htmlCode", $str);

	// Kod
	//$str = preg_replace("#\[code\](.*?)\[/code]#si", "<pre class=\"kod\"><u><b>Kodas:</b></u><br/>\\1</pre>", $str);

	// Kolorowanie składni
	//$str=preg_replace_callback("#\[php\](.*?)\[/php\]#si", "bbcode_phpCode", $str);
	//$str=preg_replace_callback("#\[html\](.*?)\[/html\]#si", "bbcode_htmlCode", $str);
	
	// Kod, podany autor
	//$str = preg_replace("#\[code=(http://)?(.*?)\](.*?)\[/code]#si", "<pre class=\"kod\"><u><b>\\2'o kodas:</b></u><br/>\\3</pre>", $str);

	// Cytat
	$str = preg_replace("#\[quote\](.*?)\[/quote]#si", "<p class=\"cytat\"><u><b>Citata:</b></u><br/>\\1</p>", $str);

	// Cytat, podany autor
	$str = preg_replace("#\[quote=(http://)?(.*?)\](.*?)\[/quote]#si", "<p class=\"cytat\"><u><b>\\2 rašė:</b></u><br/>\\3</p>", $str);

	// Lista

	$str = preg_replace("#\[list\](.*?)\[/list\]#si", "<ul>\\1</ul>", $str);
	$str = preg_replace("#\[list=(http://)?(.*?)\](.*?)\[/list\]#si", "<ol type=\"\\2\">\\3</ol>", $str);
	$str = preg_replace("#\[\*\](.*?)\\s#si", "<li>\\1</li>", $str);

	// Odnośnik e-mail
	$str = preg_replace("#\[email\]([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#i", "<a href=\"mailto:\\1@\\2\">\\1@\\2</a>", $str);

	// kolejny wiersz


	// kodowanie kodu
	//$str = preg_replace_callback("#\<base64\>(.*?)\</base64\>#si", "base64_decode", $str);

	// HTML dekodavimas
	$str = preg_replace("~\[php\](.*?)\[\/php\]~sie", "highlightphp(stripslashes(stripslashes('\\1')),'PHP')", $str); 
	$str = preg_replace("~\[html\](.*?)\[\/html\]~sie", "highlightphp(stripslashes(stripslashes('\\1')),'HTML')", $str); 
	$str = preg_replace("~\[mIRC\](.*?)\[\/mIRC\]~sie", "highlightphp(stripslashes(stripslashes('\\1')),'mIRC')", $str); 
	$str = preg_replace("~\[code\](.*?)\[\/code\]~sie", "highlightphp(stripslashes(stripslashes('\\1')),'Kodas')", $str); 
	$str=nl2br($str);
	//$str = preg_replace_callback("#\<base_html\>(.*?)\</base_html\>#si",create_function('$matches','return base64_decode(substr($matches[0],4,strlen($matches[0])-3));'), $str);
	//$str = preg_replace_callback("#\<base_html\>(.*?)\</base_html\>#si",create_function('$matches','return base64_decode($matches[0]);'), $str);
	$str = preg_replace_callback("#\<base64\>(.*?)\</base64\>#si","base64decode", $str);

	// js
	//$str = preg_replace_callback("#\<(.*?)javascript(.*?)\>#si", "bbcode_js", $str);
	// wynik

	return $str;
}

function highlightphp($code,$type) {
    $code = highlight_string(html_entity_decode($code), true);
	$code = str_replace("<br />","<br/>",$code);
	if ($type == "HTML") { $color = "color: blue;"; }
	elseif ($type == "mIRC") { $color = "color: green;"; }
	else { $color = "color: blue;"; }
	$nr=explode("<br/>", $code);
	$nr=count($nr); $ret='';
	for($i=1;$i<=$nr;$i++){
		$ret.=$i.'<br/>';
	}
    return '<div class="bodytextsmall" style="margin-top: 10px; margin-bottom: 0px; margin-left: 5px; '.$color.'">'.$type.' ('.$nr.' eilučių):</div><table style="'.$color.'"><tr><td valign="top"><div style="border: 1px; margin: 0px; padding: 6px;"><code>'.$ret.'</code></div></td><td><div  style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 500px; '.$color.'"><base64>'.base64_encode($code).'</base64></div></td></tr></table>';
}

function bbcode_phpCode($code){
	if(!$code){return;}
	$code[1]=trim($code[1]);
	$code[1]=html_entity_decode($code[1]);
	$code[1]=str_replace('<br />','',$code[1]);
	$kod=highlight_string($code[1], TRUE);
	$numerki=explode('|',bbcode_numeruj($kod));
	if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'){
		$sys[0]='<code><span style="color: #000000">'."\n";
		$sys[1]=chr(10).'</code>';
	}
	else{
		$sys[0]="<font color=\"#000000\">\n";
		$sys[1]="\n</code>";
	}
	$kod=str_replace(array($sys[0],$sys[1]),array('<code><font color="#000000">','</code>'),$kod);
	$ret='<div class="php"><div class="lang"><b>PHP Kodas ('.$numerki[0].' eilutės):</b></div><div class="container"><table class="block"><tr><td class="linenumber" style="font-size: 12px;">'.$numerki[1].'</td><td width="100%" style="font-size: 12px;"><pre class="pcode"><span class="html"><div style="line-height: 15px">'.$kod.'</div></span></pre></td></tr></table></div></div>';
	//$ret='<div class="php"><div class="lang"><b>PHP Kodas ('.$numerki[0].' eilutės):</b></div><div class="container"><table class="block"><tr><td class="linenumber" style="font-size: 12px;">'.$numerki[1].'</td><td width="100%" style="font-size: 12px;"><span class="html"><div style="line-height: 15px">'.$kod.'</div></span></td></tr></table></div></div>';
	return '<base64>'.base64_encode($ret).'</base64>';
}
function bbcode_htmlCode($code){
	if(!$code){return;}
	$code[1]=trim($code[1]);
	$code[1]=html_entity_decode($code[1]);
	$code[1]=str_replace('<br />','',$code[1]);
	$kod=highlight_string($code[1], TRUE);
	//$kod=str_replace("? //!@#$%^&* >","",$kod);
	$numerki=explode('|',bbcode_numeruj($kod));
	if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'){
		$sys[0]='<code><span style="color: #000000">'."\n";
		$sys[1]=chr(10).'</code>';
	}
	else{
		$sys[0]="<font color=\"#000000\">\n";
		$sys[1]="\n</code>";
	}
	$kod=str_replace(array($sys[0],$sys[1]),array('<code><font color="#000000">','</code>'),$kod);
	$ret='<div class="php"><div class="lang"><b>HTML Kodas ('.$numerki[0].' eilutės):</b></div><div class="container"><table class="block"><tr><td class="linenumber" style="font-size: 12px;">'.$numerki[1].'</td><td width="100%" style="font-size: 12px;"><pre class="pcode"><span class="html"><div style="line-height: 15px">'.$kod.'</div></span></pre></td></tr></table></div></div>';
	//$ret='<div class="php"><div class="lang"><b>PHP Kodas ('.$numerki[0].' eilutės):</b></div><div class="container"><table class="block"><tr><td class="linenumber" style="font-size: 12px;">'.$numerki[1].'</td><td width="100%" style="font-size: 12px;"><span class="html"><div style="line-height: 15px">'.$kod.'</div></span></td></tr></table></div></div>';
	return '<base_html>'.base64_encode($ret).'</base_html>';
}


// zakodowanie kodu
Function base64decode($str){
	//return base64_decode(substr($str[0],8,strlen($str[0])-8));
	return base64_decode($str[1]);
}

// numeracja
Function bbcode_numeruj($str){
	$linia=explode('<br />', $str);
	$l=count($linia); $ret='';
	for($i=1;$i<=$l;$i++){
		$ret.=$i.'<br/>';
	}
	return $l.'|'.$ret;
}
function bbcode_autolink($str){
	$lnk=$str[3];
	if(strlen($lnk)>30){
		if(substr($lnk,0,3)=='www'){$l=9;}else{$l=5;}
		$lnk=substr($lnk,0,$l).'...'.substr($lnk,strlen($lnk)-8);
	}
	return ' <a href="'.$str[2].'://'.$str[3].'" target="_blank"> '.$str[2].'://'.$lnk.' </a>';
}
function ukryj ( $match ) {
	$id = uniqid('');
	$return = (defined("LEVEL"))?$match[2]:'Tik registruotiems vartotojams';
	return '<a href="#" onclick="flip(\'' . $id . '\'); return false;"><b>' . $match[1] . '</b></a><div id="' . $id . '" class="ukryj" style="display: none;">'.$return.'</div>';
}

// anti js
Function bbcode_js($str){
	if(!eregi('<a href=\"javascript:mailto:mail\(\'',$str[0])){
		return str_replace('javascript','java_script',$str[0]);
	}
	else{
		return $str[0];
	}
}

// Jei zmogus perkele teksta i kita eilute tai taip ir atvaizduojam
function lauzymas($txt) {
	//return str_replace("\r\n", "<br>", $txt);
}
?>
